home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 3.iso / dist / fw_qt3.idb / usr / freeware / Qt / include / qstyle.h.z / qstyle.h
C/C++ Source or Header  |  2002-04-08  |  16KB  |  637 lines

  1. /****************************************************************************
  2. ** $Id:  qt/qstyle.h   3.0.3   edited Jan 24 04:38 $
  3. **
  4. ** Definition of QStyle class
  5. **
  6. ** Created : 980616
  7. **
  8. ** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.
  9. **
  10. ** This file is part of the kernel module of the Qt GUI Toolkit.
  11. **
  12. ** This file may be distributed under the terms of the Q Public License
  13. ** as defined by Trolltech AS of Norway and appearing in the file
  14. ** LICENSE.QPL included in the packaging of this file.
  15. **
  16. ** This file may be distributed and/or modified under the terms of the
  17. ** GNU General Public License version 2 as published by the Free Software
  18. ** Foundation and appearing in the file LICENSE.GPL included in the
  19. ** packaging of this file.
  20. **
  21. ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
  22. ** licenses may use this file in accordance with the Qt Commercial License
  23. ** Agreement provided with the Software.
  24. **
  25. ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  26. ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  27. **
  28. ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
  29. **   information about Qt Commercial License Agreements.
  30. ** See http://www.trolltech.com/qpl/ for QPL licensing information.
  31. ** See http://www.trolltech.com/gpl/ for GPL licensing information.
  32. **
  33. ** Contact info@trolltech.com if any conditions of this licensing are
  34. ** not clear to you.
  35. **
  36. **********************************************************************/
  37. #ifndef QSTYLE_H
  38. #define QSTYLE_H
  39.  
  40. #ifndef QT_H
  41. #include "qobject.h"
  42. #endif // QT_H
  43.  
  44.  
  45. #ifndef QT_NO_STYLE
  46.  
  47. class QPopupMenu;
  48. class QStylePrivate;
  49. class QMenuItem;
  50. class QTab;
  51. class QListViewItem;
  52.  
  53. class QStyleOption {
  54. public:
  55.     enum StyleOptionDefault { Default };
  56.  
  57.     QStyleOption(StyleOptionDefault=Default) : def(TRUE) {}
  58.  
  59.     // Note: we don't use default arguments since that is unnecessary
  60.     // initialization.
  61.     QStyleOption(int in1, int in2) :
  62.     def(FALSE), i1(in1), i2(in2) {}
  63.     QStyleOption(int in1, int in2, int in3, int in4) :
  64.     def(FALSE), i1(in1), i2(in2), i3(in3), i4(in4) {}
  65.     QStyleOption(QMenuItem* m) : def(FALSE), mi(m) {}
  66.     QStyleOption(QMenuItem* m, int in1) : def(FALSE), mi(m), i1(in1) {}
  67.     QStyleOption(QMenuItem* m, int in1, int in2) : def(FALSE), mi(m), i1(in1), i2(in2) {}
  68.     QStyleOption(const QColor& c) : def(FALSE), cl(&c) {}
  69.     QStyleOption(QTab* t) : def(FALSE), tb(t) {}
  70.     QStyleOption(QListViewItem* i) : def(FALSE), li(i) {}
  71.     QStyleOption(Qt::ArrowType a) : def(FALSE), i1((int)a) {}
  72.  
  73.     bool isDefault() const { return def; }
  74.  
  75.     int lineWidth() const { return i1; }
  76.     int midLineWidth() const { return i2; }
  77.     int frameShape() const { return i3; }
  78.     int frameShadow() const { return i4; }
  79.  
  80.     QMenuItem* menuItem() const { return mi; }
  81.     int maxIconWidth() const { return i1; }
  82.     int tabWidth() const { return i2; }
  83.  
  84.     const QColor& color() const { return *cl; }
  85.  
  86.     QTab* tab() const { return tb; }
  87.  
  88.     QListViewItem* listViewItem() const { return li; }
  89.  
  90.     Qt::ArrowType arrowType() const { return (Qt::ArrowType)i1; }
  91.  
  92. private:
  93.     // NOTE: none of these components have constructors.
  94.     bool def;
  95.     bool b1,b2,b3; // reserved
  96.     QMenuItem* mi;
  97.     QTab* tb;
  98.     QListViewItem* li;
  99.     const QColor* cl;
  100.     int i1, i2, i3, i4;
  101.     int i5, i6; // reserved
  102.     void *p1, *p2, *p3, *p4, *p5; // reserved
  103.     // (padded to 64 bytes on some architectures)
  104. };
  105.  
  106. class QStyleHintReturn; // not defined yet
  107.  
  108. class Q_EXPORT QStyle: public QObject
  109. {
  110.     Q_OBJECT
  111.  
  112. public:
  113.     QStyle();
  114.     virtual ~QStyle();
  115.  
  116.     // New QStyle API - most of these should probably be pure virtual
  117.  
  118.     virtual void polish( QWidget * );
  119.     virtual void unPolish( QWidget * );
  120.  
  121.     virtual void polish( QApplication * );
  122.     virtual void unPolish( QApplication * );
  123.  
  124.     virtual void polish( QPalette & );
  125.  
  126.     virtual void polishPopupMenu( QPopupMenu* ) = 0;
  127.  
  128.     virtual QRect itemRect( QPainter *p, const QRect &r,
  129.                 int flags, bool enabled,
  130.                 const QPixmap *pixmap,
  131.                 const QString &text, int len = -1 ) const;
  132.  
  133.     virtual void drawItem( QPainter *p, const QRect &r,
  134.                int flags, const QColorGroup &g, bool enabled,
  135.                const QPixmap *pixmap, const QString &text,
  136.                int len = -1, const QColor *penColor = 0 ) const;
  137.  
  138.  
  139.     enum PrimitiveElement {
  140.     PE_ButtonCommand,
  141.     PE_ButtonDefault,
  142.     PE_ButtonBevel,
  143.     PE_ButtonTool,
  144.     PE_ButtonDropDown,
  145.  
  146.     PE_FocusRect,
  147.  
  148.     PE_ArrowUp,
  149.     PE_ArrowDown,
  150.     PE_ArrowRight,
  151.     PE_ArrowLeft,
  152.  
  153.     PE_SpinWidgetUp,
  154.     PE_SpinWidgetDown,
  155.     PE_SpinWidgetPlus,
  156.     PE_SpinWidgetMinus,
  157.  
  158.     PE_Indicator,
  159.     PE_IndicatorMask,
  160.     PE_ExclusiveIndicator,
  161.     PE_ExclusiveIndicatorMask,
  162.  
  163.     PE_DockWindowHandle,
  164.     PE_DockWindowSeparator,
  165.     PE_DockWindowResizeHandle,
  166.  
  167.     PE_Splitter,
  168.  
  169.     PE_Panel,
  170.     PE_PanelPopup,
  171.     PE_PanelMenuBar,
  172.     PE_PanelDockWindow,
  173.  
  174.     PE_TabBarBase,
  175.  
  176.     PE_HeaderSection,
  177.     PE_HeaderArrow,
  178.     PE_StatusBarSection,
  179.  
  180.     PE_GroupBoxFrame,
  181.  
  182.     PE_Separator,
  183.  
  184.     PE_SizeGrip,
  185.  
  186.     PE_CheckMark,
  187.  
  188.     PE_ScrollBarAddLine,
  189.     PE_ScrollBarSubLine,
  190.     PE_ScrollBarAddPage,
  191.     PE_ScrollBarSubPage,
  192.     PE_ScrollBarSlider,
  193.     PE_ScrollBarFirst,
  194.     PE_ScrollBarLast,
  195.  
  196.     PE_ProgressBarChunk,
  197.  
  198.     PE_PanelLineEdit,
  199.     PE_PanelTabWidget,
  200.  
  201.     PE_WindowFrame,
  202.  
  203.     // do not add any values below/greater this
  204.     PE_CustomBase =            0xf000000
  205.     };
  206.  
  207.     enum StyleFlags {
  208.     Style_Default =         0x00000000,
  209.     Style_Enabled =         0x00000001,
  210.     Style_Raised =            0x00000002,
  211.     Style_Sunken =             0x00000004,
  212.     Style_Off =            0x00000008,
  213.     Style_NoChange =        0x00000010,
  214.     Style_On =            0x00000020,
  215.     Style_Down =            0x00000040,
  216.     Style_Horizontal =        0x00000080,
  217.     Style_HasFocus =        0x00000100,
  218.     Style_Top =            0x00000200,
  219.     Style_Bottom =            0x00000400,
  220.     Style_FocusAtBorder =        0x00000800,
  221.     Style_AutoRaise =        0x00001000,
  222.     Style_MouseOver =        0x00002000,
  223.     Style_Up =            0x00004000,
  224.     Style_Selected =         0x00008000,
  225.     Style_Active =            0x00010000,
  226.     Style_ButtonDefault =        0x00020000
  227.     };
  228.     typedef uint SFlags;
  229.  
  230.     virtual void drawPrimitive( PrimitiveElement pe,
  231.                 QPainter *p,
  232.                 const QRect &r,
  233.                 const QColorGroup &cg,
  234.                 SFlags flags = Style_Default,
  235.                 const QStyleOption& = QStyleOption::Default ) const = 0;
  236.  
  237.  
  238.     enum ControlElement {
  239.     CE_PushButton,
  240.     CE_PushButtonLabel,
  241.  
  242.     CE_CheckBox,
  243.     CE_CheckBoxLabel,
  244.  
  245.     CE_RadioButton,
  246.     CE_RadioButtonLabel,
  247.  
  248.     CE_TabBarTab,
  249.     CE_TabBarLabel,
  250.  
  251.     CE_ProgressBarGroove,
  252.     CE_ProgressBarContents,
  253.     CE_ProgressBarLabel,
  254.  
  255.     CE_PopupMenuItem,
  256.     CE_MenuBarItem,
  257.  
  258.     CE_ToolButtonLabel,
  259.  
  260.     // do not add any values below/greater than this
  261.     CE_CustomBase =        0xf0000000
  262.     };
  263.  
  264.     virtual void drawControl( ControlElement element,
  265.                   QPainter *p,
  266.                   const QWidget *widget,
  267.                   const QRect &r,
  268.                   const QColorGroup &cg,
  269.                   SFlags how = Style_Default,
  270.                   const QStyleOption& = QStyleOption::Default ) const = 0;
  271.     virtual void drawControlMask( ControlElement element,
  272.                   QPainter *p,
  273.                   const QWidget *widget,
  274.                   const QRect &r,
  275.                   const QStyleOption& = QStyleOption::Default ) const = 0;
  276.  
  277.     enum SubRect {
  278.     SR_PushButtonContents,
  279.     SR_PushButtonFocusRect,
  280.  
  281.     SR_CheckBoxIndicator,
  282.     SR_CheckBoxContents,
  283.     SR_CheckBoxFocusRect,
  284.  
  285.     SR_RadioButtonIndicator,
  286.     SR_RadioButtonContents,
  287.     SR_RadioButtonFocusRect,
  288.  
  289.     SR_ComboBoxFocusRect,
  290.  
  291.     SR_SliderFocusRect,
  292.  
  293.     SR_DockWindowHandleRect,
  294.  
  295.     SR_ProgressBarGroove,
  296.     SR_ProgressBarContents,
  297.     SR_ProgressBarLabel,
  298.  
  299.     SR_ToolButtonContents,
  300.  
  301.     // do not add any values below/greater than this
  302.     SR_CustomBase =        0xf0000000
  303.     };
  304.  
  305.     virtual QRect subRect( SubRect r, const QWidget *widget ) const = 0;
  306.  
  307.  
  308.     enum ComplexControl{
  309.     CC_SpinWidget,
  310.     CC_ComboBox,
  311.     CC_ScrollBar,
  312.     CC_Slider,
  313.     CC_ToolButton,
  314.     CC_TitleBar,
  315.     CC_ListView,
  316.  
  317.     // do not add any values below/greater than this
  318.     CC_CustomBase =        0xf0000000
  319.     };
  320.  
  321.     enum SubControl {
  322.     SC_None =            0x00000000,
  323.  
  324.     SC_ScrollBarAddLine =        0x00000001,
  325.     SC_ScrollBarSubLine =        0x00000002,
  326.     SC_ScrollBarAddPage =        0x00000004,
  327.     SC_ScrollBarSubPage =        0x00000008,
  328.     SC_ScrollBarFirst =        0x00000010,
  329.     SC_ScrollBarLast =        0x00000020,
  330.     SC_ScrollBarSlider =        0x00000040,
  331.     SC_ScrollBarGroove =        0x00000080,
  332.  
  333.     SC_SpinWidgetUp =        0x00000001,
  334.     SC_SpinWidgetDown =        0x00000002,
  335.     SC_SpinWidgetFrame =        0x00000004,
  336.     SC_SpinWidgetEditField =    0x00000008,
  337.     SC_SpinWidgetButtonField =    0x00000010,
  338.  
  339.     SC_ComboBoxFrame =        0x00000001,
  340.     SC_ComboBoxEditField =        0x00000002,
  341.     SC_ComboBoxArrow =        0x00000004,
  342.  
  343.     SC_SliderGroove =        0x00000001,
  344.     SC_SliderHandle =         0x00000002,
  345.     SC_SliderTickmarks =         0x00000004,
  346.  
  347.     SC_ToolButton =            0x00000001,
  348.     SC_ToolButtonMenu =        0x00000002,
  349.  
  350.     SC_TitleBarLabel =        0x00000001,
  351.     SC_TitleBarSysMenu =        0x00000002,
  352.     SC_TitleBarMinButton =        0x00000004,
  353.     SC_TitleBarMaxButton =        0x00000008,
  354.     SC_TitleBarCloseButton =    0x00000010,
  355.     SC_TitleBarNormalButton =    0x00000020,
  356.     SC_TitleBarShadeButton =    0x00000040,
  357.     SC_TitleBarUnshadeButton =    0x00000080,
  358.  
  359.     SC_ListView =            0x00000001,
  360.     SC_ListViewBranch =        0x00000002,
  361.     SC_ListViewExpand =        0x00000004,
  362.  
  363.     SC_All =            0xffffffff
  364.     };
  365.     typedef uint SCFlags;
  366.  
  367.  
  368.     virtual void drawComplexControl( ComplexControl control,
  369.                      QPainter *p,
  370.                      const QWidget *widget,
  371.                      const QRect &r,
  372.                      const QColorGroup &cg,
  373.                      SFlags how = Style_Default,
  374.                      SCFlags sub = SC_All,
  375.                      SCFlags subActive = SC_None,
  376.                      const QStyleOption& = QStyleOption::Default ) const = 0;
  377.     virtual void drawComplexControlMask( ComplexControl control,
  378.                      QPainter *p,
  379.                      const QWidget *widget,
  380.                      const QRect &r,
  381.                      const QStyleOption& = QStyleOption::Default ) const = 0;
  382.  
  383.     virtual QRect querySubControlMetrics( ComplexControl control,
  384.                       const QWidget *widget,
  385.                       SubControl sc,
  386.                       const QStyleOption& = QStyleOption::Default ) const = 0;
  387.     virtual SubControl querySubControl( ComplexControl control,
  388.                     const QWidget *widget,
  389.                     const QPoint &pos,
  390.                     const QStyleOption& = QStyleOption::Default ) const = 0;
  391.  
  392.  
  393.     enum PixelMetric {
  394.     PM_ButtonMargin,
  395.     PM_ButtonDefaultIndicator,
  396.     PM_MenuButtonIndicator,
  397.     PM_ButtonShiftHorizontal,
  398.     PM_ButtonShiftVertical,
  399.  
  400.     PM_DefaultFrameWidth,
  401.     PM_SpinBoxFrameWidth,
  402.  
  403.     PM_MaximumDragDistance,
  404.  
  405.     PM_ScrollBarExtent,
  406.     PM_ScrollBarSliderMin,
  407.  
  408.     PM_SliderThickness,               // total slider thickness
  409.     PM_SliderControlThickness,        // thickness of the business part
  410.     PM_SliderLength,        // total length of slider
  411.     PM_SliderTickmarkOffset,    //
  412.     PM_SliderSpaceAvailable,    // available space for slider to move
  413.  
  414.     PM_DockWindowSeparatorExtent,
  415.     PM_DockWindowHandleExtent,
  416.     PM_DockWindowFrameWidth,
  417.  
  418.     PM_MenuBarFrameWidth,
  419.  
  420.     PM_TabBarTabOverlap,
  421.     PM_TabBarTabHSpace,
  422.     PM_TabBarTabVSpace,
  423.     PM_TabBarBaseHeight,
  424.     PM_TabBarBaseOverlap,
  425.  
  426.     PM_ProgressBarChunkWidth,
  427.  
  428.     PM_SplitterWidth,
  429.     PM_TitleBarHeight,
  430.  
  431.     PM_IndicatorWidth,
  432.     PM_IndicatorHeight,
  433.     PM_ExclusiveIndicatorWidth,
  434.     PM_ExclusiveIndicatorHeight,
  435.  
  436.     // do not add any values below/greater than this
  437.     PM_CustomBase =        0xf0000000
  438.     };
  439.  
  440.     virtual int pixelMetric( PixelMetric metric,
  441.                  const QWidget *widget = 0 ) const = 0;
  442.  
  443.  
  444.     enum ContentsType {
  445.     CT_PushButton,
  446.     CT_CheckBox,
  447.     CT_RadioButton,
  448.     CT_ToolButton,
  449.     CT_ComboBox,
  450.     CT_Splitter,
  451.     CT_DockWindow,
  452.     CT_ProgressBar,
  453.     CT_PopupMenuItem,
  454.  
  455.     // do not add any values below/greater than this
  456.     CT_CustomBase =        0xf0000000
  457.     };
  458.  
  459.     virtual QSize sizeFromContents( ContentsType contents,
  460.                     const QWidget *widget,
  461.                     const QSize &contentsSize,
  462.                     const QStyleOption& = QStyleOption::Default ) const = 0;
  463.  
  464.     enum StyleHint  {
  465.     // ...
  466.     // the general hints
  467.     // ...
  468.            // disabled text should be etched, ala Windows
  469.     SH_EtchDisabledText,
  470.  
  471.     // the GUI style enum, argh!
  472.     SH_GUIStyle,
  473.  
  474.     // ...
  475.     // widget specific hints
  476.     // ...
  477.     SH_ScrollBar_BackgroundMode,
  478.     SH_ScrollBar_MiddleClickAbsolutePosition,
  479.     SH_ScrollBar_ScrollWhenPointerLeavesControl,
  480.  
  481.     // QEvent::Type - which mouse event to select a tab
  482.     SH_TabBar_SelectMouseType,
  483.  
  484.     SH_TabBar_Alignment,
  485.  
  486.     SH_Header_ArrowAlignment,
  487.  
  488.     // bool - sliders snap to values while moving, ala Windows
  489.     SH_Slider_SnapToValue,
  490.  
  491.     // bool - key presses handled in a sloppy manner - ie. left on a vertical
  492.     // slider subtracts a line
  493.     SH_Slider_SloppyKeyEvents,
  494.  
  495.     // bool - center button on progress dialogs, ala Motif, else right aligned
  496.     // perhaps this should be a Qt::Alignment value
  497.     SH_ProgressDialog_CenterCancelButton,
  498.  
  499.     // Qt::AlignmentFlags - text label alignment in progress dialogs
  500.     // Center on windows, Auto|VCenter otherwize
  501.     SH_ProgressDialog_TextLabelAlignment,
  502.  
  503.     // bool - right align buttons on print dialog, ala Windows
  504.     SH_PrintDialog_RightAlignButtons,
  505.  
  506.     // bool - 1 or 2 pixel space between the menubar and the dockarea, ala Windows
  507.     // this *REALLY* needs a better name
  508.     SH_MainWindow_SpaceBelowMenuBar,
  509.  
  510.     // bool - select the text in the line edit about the listbox when selecting
  511.     // an item from the listbox, or when the line edit receives focus, ala Windows
  512.     SH_FontDialog_SelectAssociatedText,
  513.  
  514.     // bool - allows disabled menu items to be active
  515.     SH_PopupMenu_AllowActiveAndDisabled,
  516.  
  517.     // bool - pressing space activates item, ala Motif
  518.     SH_PopupMenu_SpaceActivatesItem,
  519.  
  520.     // int - number of milliseconds to wait before opening a submenu
  521.     // 256 on windows, 96 on motif
  522.     SH_PopupMenu_SubMenuPopupDelay,
  523.  
  524.     // bool - should scrollviews draw their frame only around contents (ala Motif),
  525.     // or around contents, scrollbars and corner widgets (ala Windows) ?
  526.     SH_ScrollView_FrameOnlyAroundContents,
  527.  
  528.     // bool - menubars items are navigatable by pressing alt, followed by using
  529.     // the arrow keys to select the desired item
  530.     SH_MenuBar_AltKeyNavigation,
  531.  
  532.     // bool - mouse tracking in combobox dropdown lists
  533.     SH_ComboBox_ListMouseTracking,
  534.  
  535.     // bool - mouse tracking in popupmenus
  536.     SH_PopupMenu_MouseTracking,
  537.  
  538.     // bool - mouse tracking in menubars
  539.     SH_MenuBar_MouseTracking,
  540.  
  541.     // bool - gray out selected items when loosing focus
  542.     SH_ItemView_ChangeHighlightOnFocus,
  543.  
  544.     // bool - supports shared activation among modeless widgets
  545.     SH_Widget_ShareActivation,
  546.  
  547.     // bool - workspace should just maximize the client area
  548.     SH_Workspace_FillSpaceOnMaximize,
  549.  
  550.     // bool - supports popup menu comboboxes
  551.     SH_ComboBox_Popup, 
  552.  
  553.     // bool - titlebar has no border
  554.     SH_TitleBar_NoBorder,
  555.  
  556.     // bool - stop scrollbar at mouse
  557.     SH_ScrollBar_StopMouseOverSlider,
  558.  
  559.     //bool - blink cursort with selected text
  560.     SH_BlinkCursorWhenTextSelected,
  561.  
  562.     //bool - richtext selections extend the full width of the docuemnt
  563.     SH_RichText_FullWidthSelection,
  564.  
  565.     // do not add any values below/greater than this
  566.     SH_CustomBase =        0xf0000000
  567.     };
  568.  
  569.     virtual int styleHint( StyleHint stylehint,
  570.                const QWidget *widget = 0,
  571.                const QStyleOption& = QStyleOption::Default,
  572.                QStyleHintReturn* returnData = 0
  573.                ) const = 0;
  574.  
  575.  
  576.     enum StylePixmap {
  577.     SP_TitleBarMinButton,
  578.     SP_TitleBarMaxButton,
  579.     SP_TitleBarCloseButton,
  580.     SP_TitleBarNormalButton,
  581.     SP_TitleBarShadeButton,
  582.     SP_TitleBarUnshadeButton,
  583.     SP_DockWindowCloseButton,
  584.     SP_MessageBoxInformation,
  585.     SP_MessageBoxWarning,
  586.     SP_MessageBoxCritical,
  587.  
  588.     // do not add any values below/greater than this
  589.     SP_CustomBase =        0xf0000000
  590.     };
  591.  
  592.     virtual QPixmap stylePixmap( StylePixmap stylepixmap,
  593.                  const QWidget *widget = 0,
  594.                  const QStyleOption& = QStyleOption::Default ) const = 0;
  595.  
  596.  
  597.     static QRect visualRect( const QRect &logical, const QWidget *w );
  598.  
  599.     static QRect visualRect( const QRect &logical, const QRect &bounding );
  600.  
  601.  
  602.  
  603.  
  604.     // Old 2.x QStyle API
  605.  
  606. #ifndef QT_NO_COMPAT
  607.     int defaultFrameWidth() const
  608.     {
  609.     return pixelMetric( PM_DefaultFrameWidth );
  610.     }
  611.     void tabbarMetrics( const QWidget* t,
  612.             int& hf, int& vf, int& ov ) const
  613.     {
  614.     hf = pixelMetric( PM_TabBarTabHSpace, t );
  615.     vf = pixelMetric( PM_TabBarTabVSpace, t );
  616.     ov = pixelMetric( PM_TabBarBaseOverlap, t );
  617.     }
  618.     QSize scrollBarExtent() const
  619.     {
  620.     return QSize(pixelMetric(PM_ScrollBarExtent),
  621.              pixelMetric(PM_ScrollBarExtent));
  622.     }
  623. #endif
  624.  
  625.  
  626. private:
  627.     QStylePrivate * d;
  628.  
  629. #if defined(Q_DISABLE_COPY)
  630.     QStyle( const QStyle & );
  631.     QStyle& operator=( const QStyle & );
  632. #endif
  633. };
  634.  
  635. #endif // QT_NO_STYLE
  636. #endif // QSTYLE_H
  637.